Payment Initiation APIs
Important Information & Bank of Ireland’s API Implementation
This page is a reflection of Bank of Ireland’s implementation of the Open Banking Payment Initiation Service APIs.
Common across both Domestic Payments ROI/NIGB and International Payments ROI/NIGB
Known Issues
- BOI are aware of a defect which is preventing payments being initiated to accounts with account number ‘00000000’. This is on our roadmap to fix but it is not yet possible to provide a resolution date. When a fix is scheduled and completed, updates will be published in the Transparency Calendar, here and in the News and Announcements section.
Cut-off Times
- For Banking 365 Online users, if a request to initiate a payment is received after the cut-off time, Bank of Ireland will accept the payment and process it on the next working.
- For Business On Line users, Bank of Ireland will accept payments up to cut-off time, payments submitted after cut-off will be rejected.
- Information on Cut-off times for Bank of Ireland Group is available "here" for Business On Line customers, and available "here" for 365 Online customers.
Payee Name Length
- For Business On Line:
- Bank of Ireland UK and ROI supports Payee name length up to 50 characters. Request to process payment with payee name more than 50 characters will be declined.
- For B365:
- Bank of Ireland ROI supports Payee name length up to 70 characters.
- Request to process payment with payee name more than 70 characters will be declined.
Supported Fields
Bank of Ireland does not support the below fields in response messages:
- CutOffDateTime
- ExpectedExecutionDateTime
- ExpectedSettlementDateTime
- SCASupportData Block
- SupplementaryData Block
- Debtor Block
Supported Characters
Below is a list of special characters supported by Bank of Ireland. Bank of Ireland will reject requests received with any other character.
Special characters included in Payer Name, Payee Name and EndToEndIdentification field are confined to:
/ - : ' + Space
Special characters included any other field apart from above are confined to:
/ - ? : ( ) . , ' + Space
Special Characters supported for IP B365 fields confined to:
- Payee Name, Payee Address, Payee Bank Name and Payee Bank Address / - ? : ( ) . “ ” ‘ ’ + Space ,
Special Characters supported for IP BOL fields confined to:
- Payee Name and Payee Address are Space # $ % ‘
- Payee Bank Name are Space # $ % ‘ ( ) - . /
- Payee Bank Address are Space
- ExtendedPurpose, RemittanceInformation, EndtoIdentification are Space ( ) . / ‘ – :
Special Characters supported for ISP BOL confined to:
- Payee Name and Payee Address are Space # $ % ‘
- Payee Bank Name are Space # $ % ‘ ( ) - . /
- Payee Bank Address are Space
- ExtendedPurpose, RemittanceInformation, InstructionIdentification are Space ( ) . / ‘ – :
Supplementary information
All APIs will only return one error message in the response in case of an error scenario. Please make sure that you have provided all information that is required for a successful API call.
Scheme Name
Bank of Ireland only accepts requests with valid namespacing for Payer and Payee Scheme Name i.e. Bank of Ireland won’t be able to process values without UK.OBIE prefix.
In Ireland, valid scheme name is:
- UK.OBIE.IBAN
In UK, valid scheme name is:
- UK.OBIE.SortCodeAccountNumber
Requests with any other Scheme Name will be rejected.
Payment Status
For both B365 and Business On Line Channel, the final status supported by Bank of Ireland for domestic payment and international payment is AcceptedSettlementInProcess. BOI is unable to provide the AcceptedSettlementComplete status as this is not supported in the bank’s existing online payments channels. On B365 channel the final status supported by Bank of Ireland for Domestic Standing Order and Domestic Schedule Payment is “InitiationCompleted”. BOI is unable to provide the Cancelled status as this is not supported in the bank’s existing online payments channels. We are aware that this may cause challenges with Open Banking / API payments and would invite TPPs to contact us if this limitation impacts them. If payment or standing order is rejected downstream, or by beneficiary bank, status will not be updated. On Business On Line channel the final status supported by Bank of Ireland for Domestic Schedule Payment is “Cancelled” and for International Scheduled Payment via SWIFT the final status supported is “InitiationCompleted” and via SEPA the final status supported is “Cancelled”.
Local Instrument (Domestic Payment)
- Bank of Ireland (ROI) will process domestic payment via SEPA.
- Bank of Ireland UK will process domestic payment as next day payment.
- Bank of Ireland UK for Business On Line channel will process the payment as CHAPS payment, when local instrument is passed as UK.OBIE.CHAPS
- Bank of Ireland ROI for Business On Line channel will process the payment as SDMT (Same Day Money Transfer) payment, when local instrument is passed as UK.OBIE.Target2
Confirmation of Funds for PIS (Domestic and International Payment)
This API is available for both Bank of Ireland UK PLC and Bank of Ireland (ROI).
For Banking 365 Online users and Business On Line (BOL) users, Bank of Ireland supports funds check for Domestic Payment after the user has been authenticated and authorised the payment-order-consent. For accessing the confirm funds "GET" API, the Access Token must be obtained by PISP using an Authorisation Code grant type within a secure, server-side context between the PISP and the ASPSP.
On payment submission, Bank of Ireland will perform funds check again and apply immediate debit to customer’s account. The bank will return a negative result if the user has insufficient funds in their chosen account to complete the transaction.
If there is a change to some account statuses, due to joint account access revocation, the account being closed, or the account being downgraded due to credit status, the Bank PISP Confirmation of Funds API will reject the confirmation of funds request.
The confirmation of funds request will be rejected if the request is made for a currency different from the account currency.
Funds Check is not performed for Domestic Scheduled Payments, International Scheduled Payments Domestic Standing Order or International Standing Order i.e. the funds check does not take place at the point of authorisation or submission, but is carried out on the day the of processing.
Reverse Payments
In the Refund block the Secondary Identification field will be populated if the account is pre-selected and secondary identification information is passed by TPPs.
Bank of Ireland will return null for the secondary identification field in the Refund block if the account is selected at Bank’s end
Multi-Auth for BOL Channel
Bank of Ireland supports Multi-authorisation for the following payment types for Business On Line channel:
- Domestic Payments
- Domestic Scheduled Payment
- CHAPS Domestic Payments (UK)
- CHAPS Domestic Scheduled Payment (UK)
- Same Day Money Transfer Domestic Payment (ROI)
- Same Day Money Transfer Domestic Scheduled Payment (ROI)
- International Payment
- International Scheduled Payment
If a payment requires 2nd level (dual) authorisation, BOI returns the MultiAuthorisation block including the status of the payment in the payment submission response.
A multi-auth payment can have one of the 3 valid statuses:
- AwaitingFurtherAuthorisation
- Authorised
- Rejected.
The 2nd level authoriser can Authorise or Reject a payment. The payment details cannot be amended once it has been submitted.
The following optional field(s) is/are not populated by BOI for this API:
- MultiAuthorisation.NumberRequired
- MultiAuthorisation.NumberReceived
- MultiAuthorisation.LastUpdateDateTime
- MultiAuthorisation.ExpirationDateTime
Domestic Payments
Currencies
- Bank of Ireland only supports GBP.(UK)
- Bank of Ireland only supports EUR(ROI)
Payee Address for Bank of Ireland (ROI) SEPA Payments and Bank of Ireland UK Domestic Payments
- For Banking 365 Online users and Business On Line (BOL) users, Bank of Ireland UK does not require payee address to post Domestic Payments. If payee address is included in the Domestic Payment request, it will not be considered while posting the transaction.
- For Banking 365 Online users, Bank of Ireland (ROI) does not support payee address for SEPA payments. Request to process payment with payee address will be declined
For BOL (ROI) customers, payee address is mandatory. Bank of Ireland (ROI) supports 3 lines of address.
- Country Code is mandatory
Up to 2 lines of maximum 35 characters each, minimum 1 line of address.
“CreditorPostalAddress”:{ “Country”:”IE”, “AddressLine”:{ ”.....”, “.....” } }
Request to process payment without payee address, or payee address in any other format will be declined.
SEPA Reachable countries via domestic payments API for Bank of Ireland (ROI)
All SEPA countries are reachable.
CHAPS Payments
CHAPS Domestic Payment and CHAPS Domestic Scheduled Payment are applicable for Business On Line Channel.
- A customer can make urgent same day single shot CHAPS payment as well as Future Dates CHAPS payment up-to 30 working days on Business On Line Channel.
- Transaction currencies would be GBP to GBP only.
- TPP must include field LocalInstrument = “UK.OBIE.CHAPS” in the payment initiation request to identify as a CHAPS Payment.
- Single shot CHAPS payment request received after the defined cut off time will be rejected by the bank. For cut off time details are available “Here”.
- Future dated CHAPS payment scheduled on Business On Line channel for a Saturday, Sunday, or Bank Holiday, will be rejected by the Bank.
- The CHAPS payment will be charged as per the agreed rate with the bank. Fees and charges related information for CHAPS Payment are available “Here”.
Same Day Money Transfer Payments
SDMT Domestic Payment and SDMT Domestic Scheduled Payment are offered for Business On Line Channel.
- A customer can make urgent same day single shot SDMT payment as well as Future Dated SDMT payment up-to 30 working days for Not-On-Us payments and up-to 45 working days for On-Us Payments on Business On Line Channel.
- Transaction currencies would be EUR to EUR only.
- TPP must include field LocalInstrument = “UK.OBIE.Target2” in the payment initiation request to identify it as an SDMT Payment.
- Single shot SDMT payment request received after the defined cut off time will be rejected by the bank. Cut off time details are available “Here”.
- Future dated SDMT payment scheduled on Business On Line channel for a Saturday, Sunday, or Bank Holiday, will be rejected by the Bank.
- The SDMT payment will be charged as per the agreed rate with the bank. Fees and charges related information for SDMT Payment are available “Here”.
Domestic Scheduled Payment
Bank of Ireland will accept scheduled payments up to 60 calendar days in future on B365 channel and 45 working days on Business On Line channel..
A customer can cancel a scheduled payment which has been made via TPP on the channel today. This can happen, once the customer is cancelling the payment before it has been executed. The TPP will not be notified of this change.
For the domestic payment which is scheduled on Business On Line channel for a Saturday, Sunday, or Bank Holiday, it will be rejected by the Bank
For the domestic payment which is scheduled on B365 channel for a Saturday, Sunday, or Bank Holiday, it will be processed by Bank on next working day.
Standing Orders
Below are the validations that will be performed in the live environment for Standing Orders:
- Bank of Ireland supports open ended standing orders only. Requests to create standing orders with an end date would be rejected.
- Bank of Ireland supports only one amount for first, recurring and last standing order. If request to setup standing order is received with different amounts, it will be rejected.
- Bank of Ireland supports only start date and frequency. Regardless of recurring date requested on standing order setup request, recurring date would be calculated using start date and frequency.
- Bank of Ireland supports below frequencies only, request to setup SO with any other frequency would be rejected.
- Weekly
- Fortnightly
- Monthly
- Yearly
- Below table shows few examples of how Bank of Ireland will handle frequency.
Value provided by PISP |
Bank of Ireland Processing |
Frequency |
EvryDay |
Reject - 400 Bad Request |
NA |
EvryWorkgDay |
Reject - 400 Bad Request |
NA |
IntrvlDay |
Reject - 400 Bad Request |
NA |
IntrvlWkDay:01:01 |
Accept |
Weekly |
IntrvlWkDay:02:01 |
Accept |
Fortnightly |
Any other CMA compliant value for |
Reject - 400 Bad Request |
NA |
Any CMA compliant value for |
Reject - 400 Bad Request |
NA |
IntrvlMnthDay:01:01 |
Accept |
Monthly |
IntrvlMnthDay:12:01 |
Accept |
Yearly |
Any other CMA compliant value for |
Reject - 400 Bad Request |
NA |
Any other CMA compliant value for QtrDay |
Reject - 400 Bad Request |
NA |
- Standing Orders must be for value of £1 or more. This is in line with the limits on BOI’s online channels. Any Standing Order setup request for a value of less than £1 will return an error.
File Payments
Bank of Ireland supports bulk domestic credit transfer payments for BOL customers in ROI and UK.
BOI supports 2 types of File formats:
- STD18 for UK
- XML for ROI.
Based on the type of file that needs to be uploaded, appropriate value for field ‘FileType’ should be passed in the metadata during consent request
For XML:"IE.BOI.pain.001.001.03"
For STD18 (UK): "UK.BOI.STD18”
For POST file upload endpoint, the header ‘Content-Type’ should have a valid value based on the file type:
For XML file - ‘text/xml’
For STD18 file – ‘text/plain’
For POST Consent endpoint, if Control Sum exceeds below length, then the request will be declined with 400 Bad Request:
UK: 10.2 (Ten digits & 2 decimal points)
ROI: 16.2 (Sixteen digits & 2 decimal points)
PAIN.002 Report File:
- For File Payment – ROI BOL:
There can be multiple PAIN.002 report files available for a single PAIN.001 file uploaded covering all the Rejected transactions and BOI will return all the available PAIN.002 files aggregated one after another in a single HTTP response to TPPs, instead of a single reconciled PAIN.002.
File upload simulation on Sandbox
In order to test POST /file-payment-consents/{ConsentId}/file, sample files along with their File Hash values have been made available within the Test Account sheet that can be downloaded from BOI Developer Hub.
TPPs must only use data from these sample files to simulate a HTTP 200 OK response. The content of these files must be sent in the HTTP request body and the corresponding File Hash value should be used for consent setup. If any other data is used the endpoint will return a HTTP 400 Bad Request error.
International Payments for B365 Channel
The following must be considered for International Payment on Bank of Ireland B365 channel:
- Payment methods supported on B365 channel are SWIFT and SEPA
- SWIFT and SEPA are supported for BKK payer accounts. For ROI Payments, only SWIFT payments are supported since SEPA payments are domestic payments for ROI. Please refer to section: “Domestic Payments” for SEPA ROI related details.
- LocalInstrument field is mandatory for International Payment, payment will be SWIFT when LocalInsturment field value is “UK.OBIE.SWIFT” and SEPA when LocalInstrument field value is “UK.OBIE.SEPACreditTransfer”. Bank will reject the International Payment request if any other value is provided for LocalInstrument apart from the defined value for SWIFT and SEPA payment. For ROI Payments, only SWIFT payments are supported since SEPA payments are domestic payments for ROI. Please refer to section: “Domestic Payments” for SEPA ROI related details.
- For B365 customer Bank of Ireland does not allow SWIFT payment for EEA countries/ SEPA zone countries. Only SEPA payment is allowed for EEA countries. For ROI Payments, only SWIFT payments are supported since SEPA payments are domestic payments for ROI. Please refer to section: “Domestic Payments” for SEPA ROI related details.
- For SEPA payments the instructed currency and currency of transfer must be EUR.
- Supported payee countries list and payment currencies list via SWIFT Payment for UK and ROI are:
S. No | Country | Currency | Jurisdiction |
1 | Australia | AUD | UK and ROI |
2 | Austria | GBP | UK |
3 | Austria | EUR | ROI |
4 | Belgium | GBP | UK |
5 | Belgium | EUR | ROI |
6 | Bulgaria | GBP | UK |
7 | Bulgaria | EUR | ROI |
8 | Canada | CAD | UK and ROI |
9 | Croatia | HRK/GBP | UK |
10 | Croatia | HRK | ROI |
11 | Cyprus | GBP | UK |
12 | Cyprus | EUR/CYP | ROI |
13 | Czech Republic | CZK/GBP | UK |
14 | Czech Republic | CZK | ROI |
15 | Denmark | DKK/GBP | UK |
16 | Denmark | DKK | ROI |
17 | Estonia | GBP | UK |
18 | Estonia | EEK/EUR | ROI |
19 | Finland | GBP | UK |
20 | Finland | EUR | ROI |
21 | France | GBP | UK |
22 | France | EUR | ROI |
23 | Germany | GBP | UK |
24 | Germany | EUR | ROI |
25 | Greece | GBP | UK |
26 | Greece | EUR | ROI |
27 | Hong Kong | HKD | UK and ROI |
28 | Hungary | HUF/GBP | UK |
29 | Hungary | HUF | ROI |
30 | Iceland | GBP | UK |
31 | Iceland | ISK/EUR | ROI |
32 | India | INR | UK and ROI |
33 | Ireland | GBP | UK |
34 | Ireland | EUR | ROI |
35 | Italy | GBP | UK |
36 | Italy | EUR | ROI |
37 | Latvia | GBP | UK |
38 | Latvia | EUR | ROI |
39 | Liechtenstein | GBP | UK |
40 | Liechtenstein | EUR | ROI |
41 | Lithuania | GBP | UK |
42 | Lithuania | EUR | ROI |
43 | Luxembourg | GBP | UK |
44 | Luxembourg | EUR | ROI |
45 | Malta | GBP | UK |
46 | Malta | MTL/EUR | ROI |
47 | Mexico | MXN | UK and ROI |
48 | Netherlands | GBP | UK |
49 | Netherlands | EUR | ROI |
50 | New Zealand | NZD | UK and ROI |
51 | Norway | NOK/GBP | UK |
52 | Norway | NOK | ROI |
53 | Philippines | PHP | UK and ROI |
54 | Poland | PLN/GBP | UK |
55 | Poland | PLN | ROI |
56 | Portugal | GBP | UK |
57 | Portugal | EUR | ROI |
58 | Romania | RON/GBP | UK |
59 | Romania | EUR | ROI |
60 | Singapore | SGD | UK and ROI |
61 | Slovak Republic | GBP | UK |
62 | Slovak Republic | SKK/EUR | ROI |
63 | Slovenia | GBP | UK |
64 | Slovenia | EUR | ROI |
65 | South Africa | ZAR | UK and ROI |
66 | Spain | GBP | UK |
67 | Spain | EUR | ROI |
68 | Sweden | SEK/GBP | UK |
69 | Sweden | SEK | ROI |
70 | Switzerland | CHF/GBP | UK |
71 | Switzerland | CHF | ROI |
72 | Thailand | THB | UK and ROI |
73 | Turkey | TRY | UK |
74 | Turkey | TRY/EUR | ROI |
75 | United Arab Emirates | AED | UK and ROI |
76 | United States | USD | UK and ROI |
77 | Ukraine | GBP | UK |
78 | Ukraine | EUR | ROI |
79 | China | EUR | ROI |
80 | Pakistan | EUR | ROI |
81 | Russia | EUR | ROI |
82 | United Kingdom | GBP | ROI |
83 | Monaco | EUR | ROI |
84 | Gibraltar | EUR | ROI |
85 | San Marino | EUR | ROI |
86 | Andorra | EUR | ROI |
87 | Vatican City | EUR | ROI |
Fields and Blocks Specifications for International Payment on B365 Channel via SWIFT in Request Payload
- CreditorAgent block (Mandatory):
- Fields mandatory for CreditorAgent block are: Name, Identification, SchemeName, Country, AddressLine1 and TownName.
- Acceptable values for CreditorAgent, SchemeName field are: UK.OBIE.BICFI and UK.OBIE.NCC
- The maximum field length for Name, AddressLine1 and TownName field is 35 characters.
Creditor Agent Scheme Name | Creditor Agent Identification | Creditor Account Scheme Name | Creditor Account Identification | Countries |
UK.OBIE.NCC | NCC value( eg ABA code for US) | UK.BOI.NCCAndAccountNumber.0 | Account no | US |
UK.OBIE.BIC | BIC Value | UK.BOI.NCCAndAccountNumber.0 | Account no | China, Cambodia,,India,Panama, Hong Kong, New Zealand, Phillipines, Russia, Singapore, Thailand |
UK.OBIE.BIC | BIC Value | UK.OBIE.IBAN | IBAN value | United Arab Emirates, Israel,Kuwait, Turkey,Saudi Arabia, Lebanon, Qatar, Pakistan, Jordan, Brazil,Bahrain, Luxembourg, Portugal, Spain,Monaco, Croatia, San Marino,Austria, Belgium, France, United Kingdom/Northern Ireland, Germany, Greece, Netherlands, Italy, Vatican City State, Isle Of Man, Jersey, Guernsey, Andorra, Bulgaria, Switzerland, Cyprus, Czech Republic, Denmark, Estonia, Finland, Hungary, Ireland, Iceland, Liechtenstein, Lithuania, Latvia, Malta, Norway, Poland, Romania, Sweden, Slovenia, Slovak Republic, Turkey, Ukraine |
UK.OBIE.BIC | BIC Value | UK.BOI.NCCAndAccountNumber.0,UK.BOI.NCCAndAccountNumber.1,…..UK.BOI.NCCAndAccountNumber.35 | UK.BOI.NCCAndAccountNumber.0,.. This indicates the scheme name captures an account number. This means a sort code or branch identifier are not provided UK.BOI.NCCAndAccountNumber.1 This indicates that the first digit will be the a sort code or branch identifier, the rest of the characters provided will translate into the account number UK.BOI.NCCAndAccountNumber.2 This indicates that the first two digits will be a sort code or branch identifier, the rest of the characters provided will translate into the account number,..................... UK.BOI.NCCAndAccountNumber.35 This indicates that the first thirty-five digits will be a sort code or branch identifier, the rest of the characters provided will translate into the account number | Rest of the valid countries |
- CreditorAccount block:
- Acceptable values for CreditorAccount, SchemeName field are: UK.OBIE.IBAN and UK.BOI.NCCAndAccountNumber.0 to UK.BOI.NCCAndAccountNumber.35
- Acceptable length of the value provided for Name field is depends upon the country specified in the CreditorAgent block.
Country | Name |
Belgium | 26 |
France | 24 |
United Kingdom | 24 |
Hungary | 18 |
Ireland | 26 |
Netherlands | 18 |
Romania | 24 |
United States | 26 |
For rest of the supported countries | 35 |
- Creditor Block (mandatory):
- Fields mandatory for Creditor block are: Name, Country, AddressLine1 and AddressLine2.
- The field length of Name field and AddressLine field depends upon the value of country selected under the CreditorAgent block.
Country | Name | AddressLine1 | AddressLine2 |
Belgium | 26 | 26 | 35 |
France | 24 | 35 | 35 |
United Kingdom | 24 | 35 | 35 |
Hungary | 18 | 35 | 35 |
Ireland | 26 | 35 | 35 |
Netherlands | 18 | 35 | 35 |
Romania | 24 | 35 | 35 |
United States | 26 | 35 | 35 |
For rest of the supported countries | 35 | 35 | 35 |
Initiation Block:
- Acceptable values for the ChargeBearer field is ‘Shared’. If any other value apart from 'Shared' is passed then payment will be rejected.
- CurrencyOfTransfer will always be same as Instructed Currency.
- The acceptable value for LocalInstrument field is UK.OBIE.SWIFT
- Purpose field is 4 digit ISO code (www.iso20022.org)
- If both 'Purpose' and 'ExtendedPurpose' field is passed in the payload then the payment will be rejected.
- Any value provided for DestinationCountryCode field and InstructionPriority field won’t be processed by the Bank. Structural validations will be performed with respect to OBIE standard.
DebtorAccount:
- Valid SchemeName to be supported for DebtorAccount block under UK jurisdiction will be UK.OBIE.SortCodeAccountNumber and for ROI it will be UK.OBIE.IBAN
ExchangeRateInfromation:
- Only ‘Actual’ value is acceptable for RateType field as a part of Payment Request.
- ExchangeRate and ContractIdentification fields are not supported when requesting ‘Actual’ as RateType. Payment request will be rejected if ExchangeRate and ContractIdentification fields are passed with RateType field as ‘Actual’.
- Payment will be rejected if the value provided in the RateType field is other than ‘Actual’.
- GBP for UK and EUR for ROI are the only acceptable values for unit currency, for any other Currency payment will be rejected.
InstructedAmount:
- Bank will reject the payment for "InstructedCurrency" field any value other than BOI supported currency is passed. For Bank of Ireland B365 users, Instructed Amount currency and Currency of Transfer must always be same. If it is not same then payment will be rejected.
Fields and Blocks Specifications for International Payment on B365 Channel via SWIFT in Response Payload (For UK and ROI Jurisdiction)
- Bank charges information will only be returned to the TPP when consent status is Authorised or Consumed.
- The ExchangeRateInformation block under Data block will be sent only when the consent is Authorised/Consumed.
- ExpirationDateTime field will be passed in the response payload.
- Bank will reject the International-Payment request if the TPP does not submit the International-Payment within the ExchangeRateInfromation/ExpirationDateTime.
- As a part of Refund Information the Refund block, Creditor block and Agent block are mandatory. The two blocks: 'Creditor' and 'Agent' will reflect the same value as received in request payload for CreditorAgent block and Creditor Block.
Fields and Blocks Specifications for International Payment on B365 Channel via SEPA (Only for UK Jurisdiction)
- CreditorAgent block and Creditor block are optional blocks and will not be processed for SEPA payments.
- The valid SchemeName for CreditorAccount block is ‘UK.OBIE.IBAN’
- ChargeBearer field will be ignored during Payment Processing.
- The CurrencyofTransfer and InstructedAmount/Currency should always be ‘EUR’ for IP B365 SEPA Payments.
- The valid LocalInstrument value for IP B365 SEPA payment is UK.OBIE.SEPACreditTransfer
- The valid SchemeName for DebtorAccount block is UK.OBIE.SortCodeAccountNumber
- For the ExchangeRateInfromation block only ‘Actual’ value is acceptable as RateType for IP B365 SEPA Payment. ExchangeRate and ContractIdentification fields are not supported when requesting ‘Actual’ as RateType.
- The UnitCurrency should always be GBP.
- As a part of Refund Information only Refund block will be mandatory and other two blocks - 'Creditor' and 'Agent' will not be passed in the response.
- ExchangeRateInformation block under Data block will be sent in the response payload only when the consent is Authorised/Consumed.
International Payments and International Scheduled Payment for Business On Line Channel
The following must be considered for Bank of Ireland BOL International Payment and International Scheduled Payment:
- Payment method supported on Business On Line channel are SWIFT and SEPA
- BKK accounts on Business On Line Channel supports both SWIFT and SEPA payment methods.
- IBIS (multi-currency account) on Business On Line Channel supports only SWIFT payment method.
- Bank of Ireland will accept International Scheduled Payment on Business On Line channel upto 30 working days for SWIFT and 90 calendar days for SEPA.
- A customer can cancel International Scheduled Payment (SEPA) which has been made via TPP on the BOL digital channel today. This can happen, once the customer is cancelling the payment before it has been executed. The TPP will not be notified of this change.
- Only Indicative (SWIFT & SEPA) and Agreed (SWIFT) Rate type is supported for International Payments on BOL channel.
- For SEPA payments the instructed currency and currency of transfer must be EUR.
- Supported payee/countries list via SWIFT Payment(For UK Jurisdiction):
Country List | ||
Afghanistan | Albania | Algeria |
American Samoa | Andorra | Angola |
Anguilla | Antarctica | Antigua & Barbuda |
Argentina | Armenia | Aruba |
Australia | Austria | Azerbaijan |
Bahamas | Bahrain | Bangladesh |
Barbados | Belarus | Belgium |
Belize | Benin | Bermuda |
Bhutan | Bolivia | Bonaire, Sint Eustatius & saba |
Bosnia & Herzegovina | Botswana | Bouvet Island |
Brazil | B I Ocean Territory | Brunei Darussalam |
Bulgaria | Burkina Faso | Burundi |
C A Republic | Cambodia | Cameroon |
Canada | Cape Verde Islands | Cayman Islands |
Chad | Chile | China |
Christmas Island | Cocos Islands (Keeling) | Colombia |
Comoros | Congo | Congo (Republic of) |
Cook Islands | Costa Rica | Cote D Ivoire |
Croatia | Cuba | Curacao |
Cyprus | Czech Republic | Denmark |
Djibouti | Dominica | Dominican Republic |
Ecuador | Egypt | El Salvador |
Equatorial Guinea | Eritrea | Estonia |
Ethiopia | Falkland Islands (MalVinas) | Faroe Islands |
Fiji | Finland | France |
French Polynesia | French South Territories | GB/NI |
Gabon | Gambia | Georgia |
Germany | Ghana | Gibralter |
Greece | Greenland | Grenada |
Guadeloupe | Guam | Guatemala |
Guernsey | Guinea | Guinea Bissau |
Guyana | Haiti | H & M Islands |
Honduras | Hong Kong | Hungary |
Iceland | India | Indonesia |
Iran | Iraq | Isle Of Man |
Israel | Italy | Jamaica |
Japan | Jersey | Jordan |
Kazakhstan | Kenya | Kiribati |
Korea(Republic of) | Kosovo | Kuwait |
Kyrgyzstan | Laos | Latvia |
Lebanon | Lesotho | Liberia |
Libya | Liechtenstein | Lithuania |
Luxembourg | Macau | Macedonia |
Madagascar | Malawi | Malaysia |
Maldives | Mali | Malta |
Marshall Islands | Mauritania | Mauritius |
Mexico | Micronesia | Moldova |
Monaco | Mongolia | Montenegro |
Montserrat | Morocco | Mozambique |
Myanmar | N M Islands | Namibia |
Nauru | Nepal | Netherlands |
Netherlands Antilles | New Caledonia | New Zealand |
Nicaragua | Niger | Nigeria |
Niue | Norfolk Island | North Korea |
Norway | Oman | Pakistan |
Palau | Palestine | Panama |
Papua New Guinea | Paraguay | Peru |
Philippines | Pitcairn | Poland |
Portugal | Puerto Rico | Qatar |
Rep of Ireland | Romania | Russian Federation |
Rwanda | S G & S S Islands | S H A & T da Cunha |
S V & Grenadines | Saint Kitts & Nevis | Saint Lucia |
Samoa | San Marino | Sao Tome & Principe |
Saudi Arabia | Senegal | Serbia |
Seychelles | Sierra Leone | Singapore |
Sint Maarten | Slovak Republic | Slovenia |
Solomon Islands | Somalia | South Africa |
South Sudan | Spain | Sri Lanka |
Sudan | Suriname | Svalbard & Jan Mayen |
Swaziland | Sweden | Switzerland |
Syria | Taiwan | Tajikistan |
Tanzania | Thailand | Timor-Leste |
Togo | Tokelau | Tonga |
Trinidad And Tobago | Tunisia | Turkey |
Turkmenistan | Turks & Caicos | Tuvalu |
Uganda | Ukraine | United Arab Emirates |
United States | Unites States Minor Outlying Islands | Uruguay |
Uzbekistan | Vanuatu | Vatican City State |
Venezuela | Vietnam | Virgin Islands (B) |
Virgin Islands (U.S) | Wallis And Futuna | Western Sahara |
Yemen | Zambia | Zimbabwe |
- Supported payee/ currency list via SWIFT Payment(For UK Jurisdiction):
CURRENCY_CODE | CURRENCY |
AED | U.A.E Dirhams |
AUD | Australian Dollar |
CAD | Canadian Dollar |
CHF | Swiss Franc |
CZK | Czech Koruna |
DKK | Danish Krone |
EUR | Euro |
GBP | Sterling Pounds |
HKD | Hong Kong Dollar |
HRK | Croatian Kuna |
HUF | Hungary, Forint |
INR | Indian Rupee |
JPY | Japanese Yen |
MAD | Moroccan Dirham |
NOK | Norwegian Krone |
NZD | New Zealand Dollar |
PHP | Philippine Peso |
PLN | Polish Zlotys |
SAR | Saudi Arabian Riyal |
SEK | Swedish Krone |
SGD | Singapore Dollar |
THB | Thai Bhat |
TRY | Turkish Lira |
USD | U.S. Dollar |
ZAR | South African Rand |
- Supported payee/countries list via SWIFT Payment (For ROI Jurisdiction):
S No. | Countries |
1 | Andorra |
2 | United Arab Emirates |
3 | Antigua & Barbuda |
4 | Bulgaria |
5 | Belgium |
6 | Bahrain |
7 | Brazil |
8 | China |
9 | Croatia |
10 | Cyprus |
11 | Czech Republic |
12 | Denmark |
13 | Estonia |
14 | Finland |
15 | France |
16 | United Kingdom/Northern Ireland |
17 | Guernsey |
18 | Gibraltar |
19 | Germany |
20 | Greece |
21 | Hong Kong |
22 | Hungary |
23 | Iceland |
24 | Indonesia |
25 | Republic of Ireland |
26 | Israel |
27 | Isle Of Man |
28 | India |
29 | Italy |
30 | Jersey |
31 | Jordan |
32 | Cambodia |
33 | Kuwait |
34 | Kazakhstan |
35 | Lebanon |
36 | Liechtenstein |
37 | Lithuania |
38 | Latvia |
39 | Luxembourg |
40 | Monaco |
41 | Malta |
42 | Mauritius |
43 | Malaysia |
44 | Norway |
45 | Panama |
46 | Peru |
47 | Portugal |
48 | Pakistan |
49 | Poland |
50 | Qatar |
51 | Romania |
52 | Singapore |
53 | Slovenia |
54 | Slovak Republic |
55 | Sierra Leone |
56 | San Marino |
57 | Spain |
58 | Sweden |
59 | Switzerland |
60 | Turkmenistan |
61 | Turkey |
62 | Uganda |
63 | United States |
64 | Vatican City State (Holy See) |
- Supported payee/ currency list via SWIFT Payment (For ROI Jurisdiction):
S No. | Currency_Code |
1 | AED |
2 | ATS |
3 | AUD |
4 | BEF |
5 | BGN |
6 | CAD |
7 | CHF |
8 | CNY |
9 | CYP |
10 | CZK |
11 | DEM |
12 | DKK |
13 | EEK |
14 | ESP |
15 | EUR |
16 | FIM |
17 | FJD |
18 | FRF |
19 | GBP |
20 | GRD |
21 | HKD |
22 | HUF |
23 | IEP |
Fields and Blocks Specifications for International Payment and International Scheduled Payment on BOL Channel via SWIFT in Request Payload
- CreditorAgent block :
- Fields mandatory for CreditorAgent block are: Identification, SchemeName, Country, AddressLine and TownName.
- Name field is mandatory for the countries: United Sates, United Kingdom, Isle of Man, Guernsey, Jersey, Andorra, Vatican City.
- Acceptable values for CreditorAgent, SchemeName field are: UK.OBIE.BICFI and UK.OBIE.NCC
- The field length of Name, AddressLine and TownName fields depends upon the value of country selected under the CreditorAgent block. Below is the table highlighting the field length/character limit for the respective field based upon the country -
Country Code | Name | AddressLine1 | TownName |
Belgium | 35 | 26 | 22 |
United States | 35 | 26 | 22 |
For rest of the supported countries | 35 | 35 | 35 |
- CreditorAccount block:
- Acceptable values for CreditorAccount, SchemeName field are: UK.OBIE.IBAN and UK.BOI.NCCAndAccountNumber.0 to UK.BOI.NCCAndAccountNumber.35
- Payment to UK BOI BKK account is not allowed when payer account is BKK
- Acceptable length of the value provided for Name field is country specific. Please find below the list.
S no. | Countries | Acceptable Length |
1 | United Kingdom | 18 |
2 | France, Croatia, San Marino, Monaco and Netherlands | 24 |
3 | Belgium | 26 |
3 | Rest of the countries | 35 |
Creditor Agent Scheme Name | Creditor Agent Identification | Creditor Account Scheme Name | Creditor Account Identification | Countries |
UK.OBIE.NCC | NCC value( eg ABA code for US) | UK.BOI.NCCAndAccountNumber.0 | Account no | US |
UK.OBIE.BIC | BIC Value | UK.BOI.NCCAndAccountNumber.0 | Account no | Peru, Sierra Leone, Mauritius, Uganda,China, Cambodia, Turkmenistan, Indonesia,India,Panama. |
UK.OBIE.BIC | BIC Value | UK.OBIE.IBAN | IBAN value | United Arab Emirates, Israel,Kuwait, Turkey,Saudi Arabia, Lebanon, Qatar, Pakistan, Jordan, Brazil,Bahrain, Luxembourg, Portugal, Spain,Monaco, Croatia, San Marino,Austria, Belgium, France, United Kingdom/Northern Ireland, Germany, Greece, Netherlands, Italy, Vatican City State, Isle Of Man, Jersey, Guernsey, Andorra and other SEPA countries. |
UK.OBIE.BIC | BIC Value | UK.BOI.NCCAndAccountNumber.0,UK.BOI.NCCAndAccountNumber.1,…..UK.BOI.NCCAndAccountNumber.35 | UK.BOI.NCCAndAccountNumber.0,.. This indicates the scheme name captures an account number. This means a sort code or branch identifier are not provided UK.BOI.NCCAndAccountNumber.1 This indicates that the first digit will be the a sort code or branch identifier, the rest of the characters provided will translate into the account number UK.BOI.NCCAndAccountNumber.2 This indicates that the first two digits will be a sort code or branch identifier, the rest of the characters provided will translate into the account number,..................... UK.BOI.NCCAndAccountNumber.35 This indicates that the first thirty-five digits will be a sort code or branch identifier, the rest of the characters provided will translate into the account number | Rest of the valid countries |
- Creditor Block:
- Fields mandatory for Creditor block are: Name, Country and AddressLine.
- The field length of AddressLine field depends upon the value of country selected under the CreditorAgent block. Below is the table highlighting the field length/character limit for the respective field based upon the country-
Country Code | Name | AddressLine1 |
Netherlands | 24 | 35 |
Belgium | 26 | 26 |
Monaco | 24 | 35 |
Croatia | 24 | 35 |
San Marino | 24 | 35 |
France | 24 | 35 |
For rest of the supported countries | 35 | 35 |
- Initiation Block:
- Acceptable values for the ChargeBearer field are 'Shared' and 'BorneByDebtor'. Countries supporting only 'Shared' for the ChargeBearer field are:
Country Name | ||
Austria | Belgium | Bulgaria |
Cyprus | Czech Republic | Germany |
Denmark | Estonia | Spain |
Finland | France | United Kingdom |
Greece | Croatia | Hungary |
Republic of Ireland | Iceland | Italy |
Liechtenstein | Lithuania | Luxemburg |
Latvia | Malta | Netherlands |
Norway | Poland | Portugal |
Romania | Sweden | Slovenia |
Slovakia |
- For remaining Countries both "Shared" and "BorneByDebtor" will be applicable for the ChargeBearer field. If TPP does not send any value for the ChargeBearer field then Bank will process the payment considering charge bearer value as "Shared".
- CurrencyOfTransfer must be same as Instructed Currency.
- The acceptable value for LocalInstrument field is UK.OBIE.SWIFT
- Any value provided by for DestinationCountryCode field and InstructionPriority field will not be processed by the Bank. Structural validations will be performed with respect to OBIE standard.
DebtorAccount:
- Valid SchemeName to be supported for DebtorAccount block under UK jurisdiction will be UK.OBIE.SortCodeAccountNumber and for ROI it will be UK.OBIE.IBAN
ExchangeRateInfromation:
- Only 'Indicative' or 'Agreed' value is acceptable for RateType field as a part of Payment Request.
- Payment will be rejected if 'Actual' RateType is passed.
- Exchange rate information will only be sent in the response payload if payee and payer currency belongs to EEA currencies.
- UnitCurrency should always be Payer Account Currency. It will be validated against the list of Supported Currency by BOI. For BKK account GBP for UK and EUR for ROI are the only acceptable values for unit currency and for IBIS it will be list of IBIS supported currency provided in the below table –
IBIS supported Currency list | ||
BEF | PTE | NLG |
GRD | CZK | HKD |
PLN | HRK | THB |
PHP | GBP | FRF |
CHF | DKK | TRY |
NOK | ESP | TND |
EUR | SEK | SAR |
HUF | INR | IEP |
AUD | MAD | MYR |
AED | MTL | SKK |
FIM | USD | DEM |
JPY | ATS | NZD |
SGD | CNY | CYP |
ITL | CAD | ZAR |
ISK | LVL | BGN |
- InstructedAmount:
- Bank will reject the payment for "InstructedCurrency" field value other than BOI supported currency is passed.
Fields and Blocks Specifications for International Payment and International Scheduled Payment on BOL Channel via SWIFT in Response Payload (For UK and ROI Jurisdiction)
- Bank charges information will only be returned to the TPP when consent status is Authorised or Consumed.
- The 'Type' field used to indicate the type of fee/charge to be applied to the payment-order. The accepted value for 'Type' field is ‘UK.OBIE.INTERNATIONALPAYMENTCharge’
- The ExchangeRateInformation block under Data block will be sent only when the consent is Authorised/Consumed and when the payer currency and instructed currency belongs to EEA currencies.
Fields and Blocks Specifications for International Payment and International Scheduled Payment on BOL Channel via SEPA (Only for UK Jurisdiction)
- CreditorAgent block and Creditor block are mandatory blocks for SEPA payments.
- The valid SchemeName for CreditorAccount block is ‘UK.OBIE.IBAN’
- The valid SchemeName for CreditorAgent block is ‘UK.OBIE.BICFI’
- ChargeBearer field will be ignored during Payment Processing.
- The CurrencyofTransfer and InstructedAmount/Currency should always be ‘EUR’ for IP/ISP – BOL SEPA Payments
- Creditor account cannot be a BOI UK account.
- The valild LocalInstrument value for IP/ISP - BOL SEPA payment is UK.OBIE.SEPACreditTransfer
- The valid SchemeName for DebtorAccount block is UK.OBIE.SortCodeAccountNumber
- Any value provided for DestinationCountryCode field won’t be processed by the Bank.
- For the ExchangeRateInfromation block only Indicative value is acceptable as RateType for IP/ISP - BOL SEPA Payment.
- The UnitCurrency should always be GBP for BKK accounts.
- Amount greater than 50K GBP will be rejected for SEPA Payments.
- ExchangeRateInformation block under Data block will be sent in the response payload only when the consent is Authorised/Consumed and when the payer currency and instructed currency belongs to EEA currencies.
UK Post Office
UK Post Office Current Accounts are no longer available and access to these accounts is not available via APIs.
Payment Initiation from Credit Cards
API endpoints are not available on credit cards as balance transfers and money transfers cannot be completed through Bank of Ireland online banking.
Note:
BOI supports HTTP 'x-content-type-options' response header by setting the value to 'nosniff' which is returned to TPPs for all APIs.
The Content-Type representation header is used to indicate the original media type of the resource (prior to any content encoding applied for sending). In responses, a Content-Type header provides a TPP with the actual content type of the returned content. This header's value may be ignored, for example when browsers perform MIME sniffing as BOI has set the value to ‘nosniff’ to prevent this behaviour.